Providing content interruptions

ABSTRACT

Content which users may wish to receive may be distributed with interrupting content such that the use of the content on the user&#39;s receiver may be interrupted and replaced with the interrupting content. The content which the user wishes to receive may be software, audio, video, graphics or other material and the interrupting content in one embodiment of the prevent invention may be advertisements. In this way, the user&#39;s receiver may be utilized to determine when it is appropriate to interrupt the interruptible content with the interrupting content. This may provide a convenient mechanism for reduced price or free distribution of a wide variety of media currently provided only in physical form or only for free without any compensation to the content provider.

This application is a continuation-in-part of prior application Ser. No.09/561,443, filed on Apr. 28, 2000, application Ser. No. 09/690,159,filed on Oct. 17, 2000, and application Ser. No. 09/690,549, also filedon Oct. 17, 2000.

BACKGROUND

This invention relates generally to broadband content distribution andsystems that record the distributed content for subsequent display.

Broadband content distribution may involve the distribution oftelevision programming to a large number of receivers as well as thedistribution of other forms of content. Content which may be amenable towide spread distribution includes video, graphics, software, audio andgames.

The ability to charge customers for content in many cases means that thetype of content that may be distributed may be of higher quality. Thus,pay-per-view television programming is widely accepted.

However, there is a considerable demand for the distribution of contentwithout charge. Conventional television broadcasts subsidizedistribution through an advertising scenario. Similarly, in connectionwith the Internet, a large amount of content is distributed for freewith the hope that viewers will patronize advertisers that pay forbanner ads that accompany the content.

Thus, it would be desirable to include advertising material or otherinterruptions in the course of a wide variety of content that might bedistributed for free or at reduced charge in a broadband distributionnetwork. However, many content formats are not amenable to the readyincorporation of advertising material. For example, games and softwarecould be distributed with banner ads. However, full screen display ofadvertisements is generally not viable because there is no way to knowwhen to insert these advertisements in the course of the video game orsoftware operation.

An interruptible content delivery system allows the play of any of avariety of types of selectable content to be paused to permit theautomatic insertion of advertising material. Thus, the play of audio,video, games, graphics, software or other media may be pausedautomatically to allow insertion of advertisements. At the end of theadvertisement, the content restarts where it left off.

Generally, advertisers prefer to target their advertisements to specificdemographic profiles. For example, advertisers may attempt to target aspecific demographic profile based on the nature of a particular type ofcontent such as the nature of the television program. The advertisersmay determine that people who enjoy particular types of content, such asparticular television programs, may be more likely to purchaseparticular types of products.

Advertisers, who prefer to maintain an image, may prefer to avoid havingtheir advertisements run in conjunction with content that may havecontroversial aspects. Controversial aspects may include violence,language, adult situations, sexual content and the like. Thus,advertisers may prefer to target their advertisements to that contentmore likely to be enjoyed by the advertiser's target audience.

Of course in some potential interruptible content delivery systems, itmay not be known in advance what content may be played at any giventime. Instead, in many situations, the user may be in control ofselecting the content that is played at any particular time. Thus, theissue arises how to insert advertisements in a fashion that may beacceptable to advertisers. In particular, it may be necessary to ensurethat specific ads are associated with particular types of content eitherbecause of the type of content involved or because the advertiser maybelieve that particular types of audiences are more likely to beattracted to specific types of content.

Distributed content may be recorded on a digital recording device forsubsequent replay from random access memories. Such recording devicescan pause ongoing play of content while continuing to record incomingcontent. Digital recording devices, using random access memories, aremore versatile than videocassette recorders that use tape or serialmemories. Thus, digital recording devices are becoming increasinglypopular with consumers.

Generally, when the distributed content is a television program thatincludes advertisements, the advertisements are recorded together withthe program content. When the recorded content is replayed, theadvertisements may be outdated. Thus, the replay of outdatedadvertisements may seem odd. Moreover, from the advertiser's point ofview, the value of repeated play of the content, including theadvertisements, may be reduced.

Thus, there is also a need for improved techniques for storingadvertisements in digital recording devices and for ways to generallyenable advertising to be inserted in an interruptible content deliverysystem and more specifically to enable inserting advertising so as toimplement advertiser guidelines.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic depiction of a broadband digital distributionsystem in accordance with one embodiment of the present invention;

FIG. 2 is a flow chart for software that may be utilized on a receiverin the system shown in FIG. 1;

FIG. 3 is a block depiction of a receiver in accordance with oneembodiment of the present invention;

FIG. 4 is a flow chart for software in accordance with one embodiment ofthe present invention.

FIGS. 5 a and 5 b illustrate an embodiment of a user interface foradvertisement selection;

FIG. 6 illustrates another embodiment of a user interface foradvertisement selection;

FIG. 7 is a flow chart for software that enables commercials to bedigitally recorded in accordance with one embodiment of the presentinvention;

FIG. 8 is a flow chart for software that allows the playback of recordedcontent including commercials in accordance with one embodiment of thepresent invention;

FIG. 9 is a flow chart for software in accordance with an embodiment ofthe present invention; and

FIG. 10 is a flow chart for software that allows recorded commercials tobe updated in accordance with one embodiment of the present invention.

DETAILED DESCRIPTION

A digital broadband distribution network 10, shown in FIG. 1, mayimplement the distribution of a variety of content formats and theprovision of content interruptions on a content receiver 16. The contentreceiver 16 receives content from a content transmitter 12 that in turnreceives broadcast content from a content provider 14.

The content transmitted by the transmitter 12 may be made up ofconventional content termed “interruptible content” and “interruptingcontent”. Interruptible content is content whose operation, play, or usemay be interrupted for the substitution of other content. The contentthat is temporarily substituted for the interruptible content is calledthe interrupting content.

In accordance with one embodiment, interruptible content that the userdesires to receive may be interrupted with interrupting content that mayhelp to pay for the interruptible content. The interrupting content mayinclude advertisements.

The interruptible content may be video, graphics, audio, games, andother software such as application software. The interrupting contentmay be substituted for the interruptible content under control of thereceiver 16 in one embodiment.

The content from the content transmitter 12 is received by atuner/demodulator 18 contained in the digital content receiver 16. Thetuner/demodulator 18 tunes to one or more channels and demodulates thosechannels for display. In addition, the tuner/demodulator 18 may parsethe interruptible and interrupting content and forward that informationto an encrypted cache 20. The tuner/demodulator 18 also parses storinginstructions utilized for controlling the storage of the content. Thestoring instructions are also forwarded to the encrypted cache 20 foruse in storing the content. In addition, the tuner/demodulator 18 mayparse upgrades, provided with the content, for upgrading previouslyreceived content. Finally the tuner/demodulator 18 may parseinterruption instructions from the rest of the content. Theseinterruption instructions tell when to interrupt the interruptiblecontent with the interrupting content. The interruption instructions maybe forwarded to a program guide 24.

The program guide 24 may receive interruption instructions from a backchannel that may be coupled to the broadcast content provider 14. Theinterruption instructions may be conveyed, for example, over theInternet as indicated at 26. In some cases, the interruptioninstructions may be updated, revised or extended and therefore it may benecessary to convey them after the original content is received.

The program guide 24 may provide a schedule of available informationthat may be received from the content provider 14. This information maybe accessed over the backchannel such as the Internet 26 to reduce thestorage requirements on the content receiver 16. The interruptioninstructions, received over the back channel or as parsed by thetuner/demodulator 18, may be forwarded by the content guide 24 to ashell 22. The shell 22 in one embodiment of the present invention may bea software module that controls the use of content received from thebroadcast content provider 14. Moreover, the shell 22 implements theinterruption of interruptible content with interrupting content inaccordance with interruption instructions received as describedpreviously.

The encrypted cache 20 stores the content in a format that preventsdecryption and theft by unauthorized individuals. The encrypted cache 20may, for example, be part of a hard disk drive. When content is receivedby the system 10, the shell 22 stores the information on the hard diskdrive and particularly in the encrypted cache. For example, the shell 22may cause the content to be distributed to a variety of storagelocations on the hard disk drive so that the content may not becontinuously accessed in one contiguous hard drive area. Only the shell22 can access the map that indicates where the content is stored on thehard disk drive and how it can be reconstructed to play back the contentin a meaningful fashion.

Thus, as content is acquired from a source and stored through the shellinto the hard disk drive, it is stored in a form that can only beaccessed by the shell thereafter. To access the content one must accessthe content through the shell because only the shell knows where all theportions of the content are stored and how to reconstruct it in ameaningful fashion. Thus, the shell can control access in a variety ofways. For example, the shell can prevent access, the shell can provideaccess only in return for either watching a commercial or paying a feeor the shell may limit the number of times that the content may beviewed or even the times when the content may be viewed.

Thus, in the embodiment illustrated in FIG. 1, the shell 22 may havecontent, such as games or rentable software as a few examples. When theuser wishes to use the content that is available from the contentprovider 14, the user may request a download of that information or thatinformation may be conveyed during conditions of high bandwidthavailability. Alternatively, other schemes for providing the content tothe receiver 16 may be utilized. In general, the transport mechanism mayinclude any digital mechanism such as satellite transmission, cabletransmission or airwave broadcast.

Conceivably, the content may also be provided in conventional physical,portable forms such as compact disks (CD-ROM), digital video disks(DVD), flash memory or the like. The content, however received, isencoded in a way in which, absent the use of the shell 22, one would beunable to use, hear, view, play or otherwise enjoy the content. Thus,the system controls access to the content in a secure way usingencryption provided with the content as conveyed over the transportmedia or as received in physical form by the user.

Once the information has been cached in the cache 20, the user canreceive the right to enjoy play, hear or view the content as the casemay be from the shell 22. The shell 22 then releases the information foruse in the appropriate format on the processor-based content receiver16. The shell 22 may also control the number of times or the time periodwhen the content may be used.

Moreover, the shell 22 monitors a criteria which determines when thecontent's use is to be interrupted with interrupting content. Thus, theshell 22 may force a mechanism wherein interrupting content may betemporarily played in place of interruptible content. For example,advertisements may be provided together with the interruptible content.Alternatively, the interrupting and interruptible content may bereceived at different times via different mechanisms.

For example, the interrupting content may be inserted at regularintervals. After allowing content to be played for a predeterminedamount of time, interrupting content may be inserted automatically. Inother cases, the interrupting content may be inserted when advantageousconditions arise. For example, in connection with gaming software, whenthe user reaches a stopping point, the system may determine that theaction has paused sufficiently that the interrupting content may beinserted.

Similarly, if a user temporarily pauses the regular operation, play, oruse of the content such as by depressing a pause button on a remotecontrol unit or the like, the system may replace the screen with thepaused content with a user interface 500. One exemplary user interface500 a is shown in FIG. 5 a and another is shown in FIG. 5 b. The userinterfaces 500 a and 500 b may include one or more selectableadvertising programs 520 and the paused video content 510.

As is shown in FIG. 5 a, a selectable advertisement 520 may occupyalmost all of the screen, which may be referred to as a full-screenmode. In this example, a smaller user interface 510 that includes thepaused video content and a selectable button 512 may overlay theadvertisement 520. It should be noted, however, that embodiments of thefull-screen mode are not limited to the depicted relative sizes. Forinstance, the advertisement 520 can be smaller, overlaying a largerinterface 510 of paused video content.

The interface 500 a may also include a graphical depiction of aselectable button 514. In response to the selection of the button 514the advertisement is played. Alternatively, if the advertisement isshown in full-screen mode the advertisement may play automatically, inresponse to the pause, without user action. It should also be noted thatin this and other embodiments, before being selected, the selectableindicia 520 may be a picture, or an animation or video with or withoutsound.

When the user desires to continue viewing the paused content he or shemay resume watching by actuating the button 512. If, however, the pausedcondition is still in effect and the advertisement is through playing,other advertisements may be presented in the user interface 500 untilthe user resumes regular use of the content, for example by selectingthe icon 512 using an input device or by actuating a play or selectbutton on a remote control unit or the like.

Another embodiment of user interface 500 is shown in FIG. 5 b. In thisembodiment, more than one selectable advertisement 520 may be presentedand they may occupy less than the full screen. For example, theselectable advertisements 520 may be presented in a grid. In this way,more than one advertisement 520 may be simultaneously presented forselection. Additionally, in this exemplary user interface 500 b thepaused content 510 may occupy a larger portion of the available screenspace as compared to the portion depicted in the interface 500 a,although embodiments are not limited to the relative sizes shown in thefigure. Thus, in an embodiment, the user may select an advertisementfrom the grid for viewing while the content is paused. In some instancesthe selected advertisement may be displayed in the grid space.Alternatively, the interface 500 b may be replaced by another interfacesuch as an interface similar to 500 a. In this way, the advertisementmay be displayed in full screen. In this case, however, the interface500 may not include the button 514 because the user has already selectedthe advertisement for viewing.

To enable actuation of a selectable option on the interfaces 500 a and500 b, the user may use a remote control unit 72. The remote control 72may include one or more buttons to enable navigation to and selection ofthe selectable options on the interface 500. Additionally, instead ofactuating a graphical button on the interfaces 500 a and 500 b, forexample, using an input device, the user may depress one or more buttonson the remote control 72 such as a play or a select button to return toviewing the paused programming.

In another embodiment, if the user pauses the content in the form offast-forwarding or rewinding the content, the user may be presented withan interface 600, which is shown in FIG. 6. As with the user interface500, the user interface 600 may include one or more selectableadvertising programs 620 and an area 610 for viewing and controlling thefast forwarding or rewinding content. In this example, the selectableadvertisements 620 are displayed in a grid with a screen for eachadvertisement adjacent to the content area 610, although embodiments arenot limited thereto. In response to selection, the advertisement may bedisplayed in its area on the grid or it may be displayed full screenwith the content in reduced size overlaying the advertisement.

The content area 610 may also include a resume button 612 and a pausebutton 616. In this way, the user may resume play of the content orpause the content to stop fast forwarding or rewinding. Alternatively,the user may use the remote control unit 72 to stop the content fromfast forwarding or rewinding and/or resume play of the content. Theremote control 72 may also be used to navigate and select anadvertisement 620. It should be noted that in addition to when a userinitiates a pause, the interfaces 500 and 600 may be displayed beforecontent is accessed and/or after a content item has ended.

In other embodiments, instead of linearly inserting the interruptingcontent, the content may be inserted in a progressive fashion. Thus, themore the user uses the content the higher the rate at which interruptingcontent may be substituted.

In one embodiment of the present invention, the content that is beingplayed may be interrupted with the play of the commercial in real time.That is, when the commercial is broadcast over a broadcast media, it mayautomatically be inserted into the playback of the content on the system10 as well.

In one embodiment of the present invention, the interruptible contentmay be an advertisement; however, the interrupting content may also be arequest that the user make some form of payment in order to continue touse the interruptible content. For example, the receiver 16 may becalled upon to access backchannel to make a payment for the continueduse of the content. When the receiver 16 does so, the receiver 16 may beprovided with a code either through the back channel or from the contentprovider which allows continued use of the interruptible content.

In some embodiments of the present invention, techniques may be utilizedto reduce the likelihood that users of the system 10 will discontinuetheir use when the commercial is played. For example, an overlay may beprovided over the commercial to indicate what is coming up next in thecontent. For example, where the content is game and the commercial isinserted after the user reaches a given level, information may beprovided about the next level as an overlay, for example, over theongoing play of the commercial. Additionally, this same overlay can beused to alert the user that other content is available for viewing. Theuser may access the additional content by pressing a button on a remote,or by using a mouse or other input device to make a selection.

Referring to FIG. 2, the software 28 for controlling the interruption ofthe interruptible content may be stored on a suitable storage mediumsuch as a hard disk drive on the receiver 16. Initially, the software 28waits for a request for content as indicated in diamond 30. Once such arequest is received, the content may be supplied as indicated in block32. In the same process, interruption instructions may be acquired asindicated in block 34 for the content that was requested and supplied inblock 32. In addition, interrupting content may then be obtained asindicated in block 36. When an interruption criteria is satisfied, asdetermined in diamond 38, the ongoing use of the interruptible contentmay be interrupted as indicated in block 40. Thus, in one embodiment ofthe present invention, the interruptible content is interrupted uponsatisfaction of an interruption criteria. The interrupting content, suchas an advertisement, is substituted temporarily.

A check at diamond 42 then determines whether the interrupted criteriais complete. If not, the flow recycles to continue to check to determinewhether the interruption criteria is satisfied at diamond 38. Otherwise,the flow ends.

A processor-based content receiver 16 in accordance with one embodimentof the present invention shown in FIG. 3, may be a set top box, a desktop computer, an appliance, a handheld device, or other form factors.The receiver 16 may include a processor 44. In one embodiment, theprocessor 44 may be coupled to an accelerated graphics port (AGP)chipset 46 for implementing an accelerated graphics port embodiment. Thechipset 46 communicates with the system memory 52, the AGP port 48 andthe graphics accelerator 50. A television 54 may be coupled to the videooutput of the graphics accelerator 50. The chipset 46 is also coupled toa bus 56 that may be, for example, a Peripheral Component Interconnectbus (PCI) bus. See revision 2.1 of the PCI Electrical Specificationavailable from the PCI Special Interest Group, Portland, Oreg. 97214.The bus 56 connects to a TV tuner/capture card 58 that provides tuningand demodulation for receiving the digital signal. The card 58 may becoupled an antenna 60 or other source of digital video such as a cableinput, a satellite receiver or the like. The bus 56 is also coupled to abridge 62 that couples the hard disk drive 64. In an embodiment, abroadcast, such as an airwave broadcast, may be captured by the tunercard 58 and may be provided to a storage, such as a hard disk drive, viaa bridge 62. The storage 64 may store the captured broadcast in arandomly accessible fashion in some embodiments. The storage 64 may alsostore software programs 28, 80, 750, 870, 780, and 900.

The bridge 62 is also coupled to another bus 66 that may be coupled to aserial input/output (SIO) device 68. In one embodiment of the presentinvention, the device 68 is in turn coupled to an interface 70 that maybe an infrared interface. The interface 70 communicates with a remotecontrol unit 72. The device 68 may also be coupled to peripheral devicessuch as a mouse (not shown) and/or a keyboard (not shown). Alsoconnected to the bus 66 is a basic input/output system (BIOS) 74.

In some cases, a large amount of content may eventually be downloaded orotherwise acquired and stored in a storage medium associated with thesystem 10. For example, the receiver 16 may be capable of digitallyrecording and playing back audio and/or video content. The recordedcontent may include radio broadcasts, television broadcasts, and contentdistributed over the Internet as examples. The television programmingmay be distributed in a variety of ways including over airwavebroadcasts, via cable distribution, and over satellite distributionnetworks. In conventional systems, the storage medium may be a hard diskdrive. Thus, it may be useful for the user to know what content has beenstored on the user's hard disk drive. A file may be assembled whichgives the user a content guide that lists all the content that is stillavailable for access through the shell 22. In this way, the user canselect that content by selecting one of the entries in the contentguide. For example, the entries in the content guide may be selected bymouse clicking on them causing the content to immediately begin play.

While a digital receiving system has been described above, the presentapplication is equally applicable to analog systems such as analogtelevision receivers that work with set-top boxes. In such case, storinginstructions may be provided over the vertical blanking interval in oneembodiment of the present invention. Alternatively, storing instructionsmay be received over the Internet or through some other source.

In another alternate embodiment, interruption instructions, interruptingcontent and interruptible content may be received over the Internet 26.In such case, the content may be forwarded through the program guide 24and directly to the encrypted cache 20. As a result, the contentbypasses the tuner/demodulator 18 but still ends up being stored in theencrypted cache 20 as described previously. That information may then beaccessed through the shell 22 in the same way as information stored inthe encrypted cache 20 via the tuner/demodulator 18. The interruptioninstructions may be sent through the program guide 24 to the shell 22.

The software 80, shown in FIG. 4, enables the insertion ofadvertisements in an interruptible content delivery system to implementadvertiser insertion guidelines. Advertisers may wish to avoid havingtheir advertisements associated with particular types of contentconsidered unsuitable. For example, some content may have sex, language,violence or other aspects which the advertiser may wish to avoidbecoming associated with. In addition, an advertiser may prefer that itsadvertisements be played in association with particular types ofcontent. For example, an advertiser may believe that people who enjoyparticular types of content may be more or less likely to purchaseparticular types of products and services. Thus, advertisers may wish tocontrol the content with which their advertisements are associated.Advertisers may wish their advertisements to run in conjunction withspecific types of content. Embodiments of the software 80 enable thesetypes of guidelines to be automatically implemented.

The software 80 begins by determining whether a scheduled advertisingtime has arrived as determined in diamond 82 in accordance with oneembodiment of the present invention. In some cases, particularadvertisements may be inserted at particular times. In other cases, theadvertisements may be inserted using other determining characteristics.

In an embodiment in which scheduled time is the event that triggers theplay of a particular advertisement, a required rating for a particularadvertisement is accessed, as indicated in block 84. Each advertisementmay be identified with a particular rating that indicates the nature ofcontent with which the advertisement may be associated. Thus, contentmay be rated, for example on a numerical system, based oncharacteristics that may be considered suitable or unsuitable to variousadvertisers. For example, the presence of violence, sex, race issues, orlanguage aspects may be used to assign a particular rating to contentmaking that content more or less desirable to particular advertisers.For example, some advertisers may wish to be associated with contentthat includes obscene language while other advertisers may prefer not tobe associated with such content.

In one embodiment of the present invention, the content may receive anoverall suitability rating which may be accessible in a database, forexample. In other embodiments of the present invention, the content mayreceive suitability ratings with respect to a number of aspects such aslanguage, sexual content, violence, and the like.

The suitability rating of a particular item of content currently beingplayed by the user may be compared to a rating required by a particularadvertiser as indicated in block 86. If there is a match, as determinedat diamond 88, the nature of the content is compared to any specificrequirements for types of content desired by the advertiser as indicatedin block 90. For example, in a system in which audio files are madeavailable to users, one advertiser may prefer to advertise in connectionwith rock and roll content while another advertiser may prefer toadvertise in connection with jazz content. A check at block 90determines what types of content, if any, have been specified by theadvertiser. For example, keywords in content descriptions may besearched to see if there is a content type match with the advertiser'scontent type guideline.

In some embodiments, the content may be divided into a number ofdifferent chapters. Each chapter may be described using one or morekeywords. The keyword or combinations of keywords for the content'schapters may be distributed as part of the interruption instructions.Alternatively, the keywords for the chapters may be incorporated intothe content. The keyword or keywords may include relevant scenecharacterization and/or product placement presented in the correspondingchapter. Thus, in some embodiments, the system may use one keyword orcombinations of keywords for a program or a chapter of a program toselect an appropriate advertisement for presentation.

If there is a content type match, as determined in diamond 92, theadvertisement is run as indicated in block 94. If there is not a contenttype match at diamond 88 or at diamond 92, the flow iterates back to thebeginning.

An automated system may then implement advertiser guidelines withrespect to suitability and content type, as two examples. In oneembodiment, each content file may include an identifying field thatprovides information about suitability and content type. Similarly, theadvertisements may be associated with suitability and content typerequirements. The software 80 matches the suitability and content typerequirements with the actual content being played at any particular timeand determines whether a particular advertisement is suitable forinsertion in connection with the on-going content being played.

According to an embodiment, the content may be received over an airwavebroadcast such as a radio broadcast, a television broadcast or the like.It may also be received over an appropriate connection such as anInternet connection, a cable connection or a satellite receiver. As isshown in FIG. 7, the software 750, stored on the storage 64, begins byreceiving and compressing audio and/or video content as indicated inblock 752.

In the course of receiving and compressing the content, a commercial maybe identified within the content as indicated in block 754. A variety oftechniques may be utilized to identify the commercial. In one case, awatermark may be included within commercials. The watermark may beimperceptible to users. However, the watermark may be detected and usedas a trigger to identify the location within the content of acommercial.

In another embodiment, the commercial may be identified by looking forauxiliary information included in the television broadcast. For example,closed captioning data may be scanned to locate particular keywords thatare known to correspond to particular advertisements.

As another example, a television advertisement schedule may be utilizedto determine, based on the currently tuned channel, local time zone, andtime of day when a commercial should be expected. Similarly, in enhancedor interactive television distribution systems, for example according tothe Advanced Television Enhancement Forum (ATVEF) Specification,announcements may be provided which may aid in detecting the presence ofa commercial. See ATVEF Enhanced Content Specification (1998).

When a commercial is identified within the received content, a check atdiamond 756 determines whether the commercial that is being received isone that has been stored before. If not, in which case the commercial isconsidered a “new” commercial, the commercial may be recorded asindicated in block 758.

In one embodiment of the present invention, the commercial may berecorded to a different memory or a different memory location than othercontent. This may facilitate accessing the commercial in accordance withsome embodiments of the present invention.

When the commercial is recorded, a marker may be inserted into theongoing content record in order to identify the location to insert acommercial. In addition, a pointer may be provided to indicate where thecommercial has been stored, when the commercial is stored in a differentstorage or in a different storage area than the rest of the content.Thus, in some embodiments, marker and pointer information may beembedded into the content. In other embodiments, however, marker andpointer information may be kept in a separate data file.

The new commercial may be identified by keywords or other informationand added to a list of commercials that have previously been stored asindicated in block 760. In this way, a list of commercials may beutilized to determine whether any received commercial is one that hasbeen received in the past. For example, the closed captioning scriptassociated with the first five or ten words of a commercial may berecorded and stored as a commercial list. Then, the next time acommercial is received, a check may determine whether the first five orten words are identical to any commercial already on the commerciallist.

Finally, the update instructions for a particular commercial may bestored as indicated in block 762. In enhanced or interactivetransmissions, the update information may be broadcast as auxiliaryinformation. In other cases, the update information may be encoded withthe commercial. As still another alternative, the update information maybe accessed from a database. For example, based on telltale words withinthe commercial, such as the first five or ten words, a database may beconsulted to determine how frequently the particular commercial shouldbe updated. As one example, the database may be accessed automaticallyover the Internet. Once the update instructions are obtained, they maybe stored in association with an update database. For example, inaccordance with one embodiment, at predetermined times, all of thestored commercials may be automatically updated in accordance withstored update instructions.

If the commercial is one that has previously been stored, theappropriate marker and pointer are stored in connection with the ongoingcontent in an embodiment in which the commercials are stored in aseparate storage from the content. In an embodiment in which the contentand commercials are stored together, it may unnecessary to insert themarker and pointer into the stored content. However, storing thecommercials and the content separately may facilitate separate access tothese materials. In addition, by storing the materials separately, it ispossible to avoid re-storing commercials which have been previouslystored. This may save storage space and increase the amount ofprogramming that may be stored on a given system 16.

The play software 870, shown in FIG. 8, also stored on the system 16 onthe storage 64, in accordance with one embodiment of the presentinvention, enables content to be played back and stored commercials tobe inserted into the content at the appropriate locations. Initially,the stored content is decompressed and played as indicated in block 872.If a marker is located when playing the stored content, as determined indiamond 874, a commercial to be inserted at the marker is automaticallylocated and played as indicated in block 876. The commercial may belocated using the pointer that points the software to the storagelocation where the commercial has been stored. Alternatively, in someembodiments, a decision process as to what commercial should be insertedat the marker is made so that an appropriate commercial may be located.For example, the software may decide what commercial is appropriateusing advertiser guidelines, keywords, or other criteria, and a pointerto that commercial may be provided to locate the commercial.

In some embodiments, the decision-making process may occur prior toplaying the stored content, such as sometime after recording the contentor in response to the selection of a content item for play. For example,marker and/or pointer information may be accessed before the content isplayed and a decision may be made as to what commercials should beinserted at different locations within the content. The markers andpointers then direct the software to the location of a commercial thatis determined to be appropriate, for a particular locality within thecontent, for example based on advertiser guidelines. If the contentplayback is completed, as determined in diamond 878, the flow ends.Otherwise, the flow recycles and the content continues to decompressedand played.

Referring to FIG. 9, software 900 may begin when content is retrievedfrom the cache for use on the receiver 16 as is shown in block 910. Forexample, a movie that has been previously recorded may be selected forviewing. The system 16 may monitor for an advantageous condition such asa user-initiated event. User-initiated events include pausing, stopping,fast forwarding, and rewinding the content as is known in the art. Ifthe system detects an advantageous condition (diamond 912) anadvertisement is located (block 914).

Because the timing and the location of a user-initiated interruption cannot be predetermined by the content provider, a way must be devised toimplement advertiser guidelines for advertising insertion. For example,the system 16 can employ information provided in keywords associatedwith the part of the content where the interruption condition occurred.Alternatively, the system can locate the nearest markers or the lastpreviously detected marker and use the pointer associated with themarker to find the advertisement associated with the marker. The systemcan either use the advertisement identified by the marker or use theadvertisement guidelines associated with this advertisement to determinethe best match out of available advertisements and this particularinterruption event. In yet another alternative, the system can use acombination of guidelines and keywords associated with the part of thecontent where the interruption occurred to determine the advertisementto be inserted. In yet another alternative, this choice ofadvertisements can be performed by the system dynamically, before theinterruption event after detecting the first marker or the first set ofkeywords. In other embodiments, advertisements may be chosen before thecontent is played by accessing the markers and/or keywords associatedwith the content. In fact, in some embodiments, keywords associated withthe content may trigger advertising with or without user interaction.For example, a user may be watching video content and an advertisingbanner may appear adjacent to the video content or an advertisement mayoverlay the video content. The banner or overlay may change over timebased on the one or more keywords associated with at least a portion ofthe content. The triggering keywords may be embedded in the content orthey may be contained in a database associated with the content.Furthermore, the advertisements may change over time based on start andend time values for the keywords associated with the content. Thekeywords and values may correspond to scenes, objects, and/or actions incontent.

Thus, after an advertisement is located, as indicated at block 914, anappropriate interface such as a banner or an overlay, or an interfacesuch as interface 500 a, 500 b, or 600 (FIGS. 5 a, 5 b, and 6,respectively) may be displayed (block 916). The interface may includethe advertisement or advertisements that are determined to beappropriate for the particular interruption event.

In an embodiment where the user selects an advertisement, the system candetect this selection so that the selected advertisement can be played.In other embodiments an advertisement is automatically played, withoutuser selection. Either way, an advertisement can be played as indicatedin block 920. As is indicated by diamond 922, if the advertisement endsand the advantageous condition is still present, the interface may bedisplayed again with the same or different advertisement. If, however,the advantageous condition ceases to exist (diamond 922), for example byresuming play of the content, or a time end value for a particularkeyword, then a check is made at diamond 924 to see if the content isover. If the content is not over the content resumes regular play untilthe next advantageous condition arises, otherwise, the flow ends.Alternatively, in some embodiments, when the content is over (and/orbefore it starts) an interface may be displayed such as a banner, anoverlay, or an interface such as interface 500 a, 500 b, or 600. If theinterface includes one or more selectable options, the user may selectone or more of the options for viewing. Otherwise, an advertisement maybe displayed without user selection based on keywords, markers, and/oradvertiser guidelines associated with the content just viewed or that isselected for viewing.

Turning finally to FIG. 10, the update software 780, also stored on thestorage 64, in accordance with one embodiment of the present invention,enables automatic updates of stored commercials. As previouslyindicated, update instructions may be acquired and stored at the timewhen a commercial is first received. In other embodiments, updateinstructions may thereafter be obtained. For example, by identifying acommercial using codes or keywords as two examples, a system mayautomatically determine from a database when the commercial should beupdated. In one embodiment, each system 16 may include a database thathas been compiled for each commercial in the acquired commercials list.The database may include the times when a commercial should be updated.

When the update time arrives for a given commercial as determined atdiamond 1082, a commercials list for a given system 16 may be acquiredas indicated in block 1084. The list may then be uploaded, as indicatedin block 1086, together with the pointers which point to the locationswhere the information associated with the commercial is stored on thesystem 16. The uploading may occur from a client to a server over anappropriate connection such as an Internet connection.

The server may then provide the appropriate updates for the client overan appropriate broadcast transport back to the client as indicated inblock 1088. A client may store the replacements, as indicated in block1090, in the same locations previously utilized. If the server providesthe same pointers that were used to originally store the outdatedversion of the commercial, the commercials may automatically be storedin the same locations where they were originally stored. In such case,when a marker is reached during content playback, the pointer associatedwith the marker may be utilized to obtain the commercial. Now, insteadof obtaining the outdated commercial, an updated commercial may bereceived.

For example, a commercial for a given plays the stored content, the usermay view the most current advertisement. This may improve theeffectiveness of the advertising material.

In some embodiments of the present invention, a stored advertisement maybe replaced with an updated advertisement. However, in otherembodiments, the stored advertisement may be replaced with anotheradvertisement that does not constitute an update. For example, a digitalrecording device may automatically replace recorded advertisements withother advertisements. In one embodiment, the provider of the digitalrecording device may cause advertisements originally recorded withcontent to be subsequently replaced with advertisements sponsored orprovided by the provider of the digital recording device. Thus, in somecases, the advertisements that were originally included with the contentmay be replaced by other advertisements. These other advertisements maygenerate revenue for a service provider or the provider of the digitalrecording device as two examples.

In one embodiment, at periodic intervals, the digital recording devicecould download a number of advertisements to be utilized to replaceexisting advertisements recorded with the content. Thereafter, theadvertisements that were originally recorded with content could bereplaced with new advertisements. In some cases, the replacingadvertisements may be updates of existing advertisements. In othercases, the replacing advertisements may be totally new advertisementsunrelated to the advertisements they replace.

While the present invention has been described with respect to a limitednumber of embodiments, those skilled in the art will appreciate numerousmodifications and variations therefrom. It is intended that the appendedclaims cover all such modifications and variations as fall within thetrue spirit and scope of this present invention.

1. A system comprising: a receiver to receive content and at least oneadvertisement; a cache, coupled to said receiver, to store said contentand said at least one advertisement; and an interface, in said receiver,to select at least one stored advertisement, said advertisementselection based on a content characteristic that is specified by anadvertisement provider, said interface also to retrieve content fromsaid cache to enable the display of the retrieved content in a regularviewing mode, to detect a user-initiated pause of the regular viewingmode, and in response to said detecting, to provide a user interfacethat enables the user to view said at least one selected advertisementfor as long as the content remains paused.
 2. The system of claim 1wherein said system is a television receiver.
 3. The system of claim 1wherein said system is a set-top box.
 4. The system of claim 1 whereinsaid system is a computer.
 5. The system of claim 1 wherein saidreceiver is coupled to a back channel to receive instructions about howto select an advertisement based on a content characteristic.
 6. Thesystem of claim 1 including a device in said receiver that parsescontent from instructions for inserting a selected advertisement.
 7. Thesystem of claim 6 wherein said device parses instructions for how tostore the content and advertisement.
 8. The system of claim 1 whereinsaid interface determines a characteristic of the content.
 9. The systemof claim 6 wherein said instructions for inserting a selectedadvertisement includes indicia that indicate a characteristic of thecontent.
 10. The system of claim 9 wherein said interface accesses saidindicia.
 11. The system of claim 1 wherein said interface accesses acharacteristic specified by an advertiser.
 12. The system of claim 9wherein said indicia is a keyword that characterizes at least one partof the content, said keyword associated with a start time value and anend time value, each of said values corresponding to at least one of acontent scene, an object in the content, and an action in the content.13. The system of claim 1 wherein said interface selects anadvertisement based on a content suitability characteristic that isspecified by an advertisement provider.
 14. The system of claim 1wherein said interface selects an advertisement based on a content typethat is specified by the advertisement provider.
 15. The system of claim1 wherein said interface resumes the regular viewing mode of the contentat the user's request.
 16. The system of claim 1 wherein said content isencrypted and said interface controls the decryption of said content toprevent an unauthorized use of said content.
 17. The system of claim 1wherein said cache is an encrypted cache.
 18. The system of claim 1wherein said cache is repeatably accessible to a user.
 19. The system ofclaim 1 wherein said interface controls the number of accesses to thecontent in the cache.
 20. The system of claim 1 wherein said content isstored in a randomly accessible storage.
 21. A system comprising: areceiver to receive content and an advertisement; a cache, coupled tosaid receiver, to store said content and said advertisement; aninterface, in said receiver, to receive an updated advertisement andupdating instructions, said updating instructions to enable the receiverto replace the stored advertisement with the updated advertisement; andsaid interface to detect a user-initiated pause in the viewing ofcontent, to retrieve the updated advertisement from said storage, and toprovide a user interface that enables the user to view the retrievedadvertisement for as long as the viewing of the content remains paused.22. The system of claim 21 wherein said receiver is adapted to enablestorage of the updated advertisement in a location other than thelocation of said stored advertisement that the updated advertisement isto replace, and to create and store a pointer to said other location.23. The system of claim 21 wherein said receiver is to receiveadditional content together with another advertisement, said receiver todetermine whether the another advertisement was previously stored. 24.The system of claim 21 wherein said receiver is to detect the startingpoint of said advertisement and to create a marker and insert it intothe content to indicate said starting point.
 25. The system of claim 21wherein said cache stores marker and pointer information in a file otherthan an associated content file and the receiver uses the marker andpointer information to locate an advertisement prior to the display ofcontent from that content file.
 26. The system of claim 21 wherein saidreceiver is to maintain a list of stored advertisements and to compareinformation about a newly received advertisement to information on saidlist of stored advertisements to determine whether said newly receivedadvertisement was previously stored.
 27. The system of claim 23 whereinsaid receiver is to store said newly received advertisement only if thenewly-received advertisement was not previously stored.
 28. The systemof claim 26 wherein said receiver is to upload said list of storedadvertisements, to a remote server, along with pointers to said storedadvertisements.
 29. The system of claim 21 wherein said receiver is toreceive information about when to update said stored advertisement andautomatically update said stored advertisement in accordance with saidinformation.
 30. The system of claim 21 wherein said receiverperiodically, automatically updates advertisements.
 31. The system ofclaim 21 wherein said system is a set-top box.
 32. The system of claim21 wherein said system stores a plurality of advertisements, and saiduser interface enables the user to select, from a subset of saidplurality, one or more advertisements for viewing so long as the contentremains paused.
 33. The system of claim 21 wherein said system stores aplurality of advertisements, and said user interface enables the user toselect, from a subset of said plurality, one or more advertisements forviewing, said user interface to be displayed before or after the displayof said content, without user interaction.
 34. A system comprising: acache, coupled to a receiver, to store content and advertisementsreceived on said receiver; an interface, in said receiver, to detect,during the play of content retrieved from said cache, the occurrence ofan advantageous condition, to locate one or more advertisements in saidcache, and to enable the display of a user interface in place of saidcontent so long as said advantageous condition is detected, said userinterface to include selectable indicia of the one or more locatedadvertisements and an indicia of said content.
 35. The system of claim34 wherein said interface is enabled to detect a user-initiated pause inthe regular play of said content.
 36. The system of claim 35 whereinsaid pause in the regular play of said content is in the form of fastforwarding or rewinding the content.
 37. The system of claim 34 whereinsaid interface enables the display of a user interface includingselectable indicia in the form of a reduced-size, still imagecorresponding to each located advertisement.
 38. The system of claim 34wherein said interface locates said one or more advertisements usingkeywords.
 39. The system of claim 34 wherein said interface locates saidone or more advertisements using markers that are inserted into saidcontent and pointers associated with said markers.
 40. The system ofclaim 34 wherein if more than one advertisement is located, saidinterface determines which located advertisements are most appropriatebased on advertisement guidelines.
 41. The system of claim 34 whereinduring regular play of content that is retrieved from said cache, saidinterface detects a marker that was inserted in said content by saidreceiver, and based on said marker, said interface determines whichadvertisement should be presented in said user interface, should theadvantageous condition occur in the part of the content near saiddetected marker.
 42. The system of claim 34 wherein said interfaceenables the display of a user interface including selectable indicia inthe form of an animation or a video corresponding to each locatedadvertisement.
 43. The system of claim 34 wherein said interface locatessaid one or more advertisements using markers and pointers that are keptin a data file other than a data file for the corresponding content, themarkers to indicate a location in that content where an advertisementcan be inserted, the pointers to point to a selected advertisement.